package org.jeecg.modules.htxincailiao.account.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: ht_forums_expert
 * @Author: jeecg-boot
 * @Date:   2022-07-14 09:57:41
 * @Version: V1.0
 */
@Data
@TableName("ht_forums_expert")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ht_forums_expert对象", description="ht_forums_expert")
public class HTForumsExpert implements Serializable {
    private static final long serialVersionUID = 1L;

	/**用户ID*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "用户ID")
    private String id;
	/**账户类型*/
	@Dict(dicCode = "account_type")
    @ApiModelProperty(value = "账户类型")
    private Integer accountType;
	/**资质认证状态：0-未认证 1-认证中 2-已认证 3-认证驳回*/
	@Excel(name = "资质认证状态", width = 15, dicCode = "certificate_audit_status")
	@Dict(dicCode = "certificate_audit_status")
    @ApiModelProperty(value = "资质认证状态：0-未认证 1-认证中 2-已认证 3-认证驳回")
    private Integer certificateAuditStatus;
	/**腾讯账号ID（管理腾讯平台账户体系）*/
    @ApiModelProperty(value = "腾讯账号ID（管理腾讯平台账户体系）")
    private String tencentAccountId;
	/**手机号*/
	@Excel(name = "手机号", width = 15)
    @ApiModelProperty(value = "手机号")
    private String phoneNumber;
	/**用户名*/
	@Excel(name = "用户名", width = 15)
    @ApiModelProperty(value = "用户名")
    private String username;
	/**排序*/
	@Excel(name = "排序", width = 15)
    @ApiModelProperty(value = "排序")
    private Integer sort;
	/**首页排序*/
	@Excel(name = "首页排序", width = 15)
    @ApiModelProperty(value = "首页排序")
    private Integer homeSort;
	/**邮箱*/
	@Excel(name = "邮箱", width = 15)
    @ApiModelProperty(value = "邮箱")
    private String email;
	/**姓名*/
	@Excel(name = "姓名", width = 15)
    @ApiModelProperty(value = "姓名")
    private String realName;
	/**昵称*/
	@Excel(name = "昵称", width = 15)
    @ApiModelProperty(value = "昵称")
    private String nickname;
	/**密码(必须包含大小写字母和数字的组合，可以使用特殊字符(~!@#$%^&*)，长度在8-32之间)*/
    @ApiModelProperty(value = "密码(必须包含大小写字母和数字的组合，可以使用特殊字符(~!@#$%^&*)，长度在8-32之间)")
    private String password;
	/**所属机构*/
	@Excel(name = "所属机构", width = 15)
    @ApiModelProperty(value = "所属机构")
    private String agencyName;
	/**资质证件*/
	@Excel(name = "资质证件", width = 15)
    @ApiModelProperty(value = "资质证件")
    private String certificate;
	/**其他资质*/
	@Excel(name = "其他资质", width = 15)
    @ApiModelProperty(value = "其他资质")
    private String otherCertificates;
	/**工号*/
	@Excel(name = "工号", width = 15)
    @ApiModelProperty(value = "工号")
    private String workNumber;
	/**分类*/
	@Excel(name = "分类", width = 15, dictTable = "ht_forums_expert_category", dicText = "name", dicCode = "id")
	@Dict(dictTable = "ht_forums_expert_category", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "分类")
    private String expertCategoryId;
	/**标签*/
	@Excel(name = "标签", width = 15, dictTable = "ht_forums_category", dicText = "name", dicCode = "id")
	@Dict(dictTable = "ht_forums_category", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "标签")
    private String forumsCategoryId;
	/**地址ID*/
    @ApiModelProperty(value = "地址ID")
    private String buyerAddressId;
	/**头像*/
    @ApiModelProperty(value = "头像")
    private String avatar;
	/**性别*/
	@Excel(name = "性别", width = 15, dicCode = "gender")
	@Dict(dicCode = "gender")
    @ApiModelProperty(value = "性别")
    private Integer gender;
	/**生日*/
	@Excel(name = "生日", width = 15, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "生日")
    private Date birthday;
	/**职位*/
	@Excel(name = "职位", width = 15)
    @ApiModelProperty(value = "职位")
    private String position;
	/**引理摘要*/
	@Excel(name = "引理摘要", width = 15)
    @ApiModelProperty(value = "引理摘要")
    private String lemmaSummary;
	/**简介*/
	@Excel(name = "简介", width = 15)
    @ApiModelProperty(value = "简介")
    private String introduction;
	/**密码盐*/
    @ApiModelProperty(value = "密码盐")
    private String salt;
	/**是否冻结*/
	@Excel(name = "是否冻结", width = 15, dicCode = "is_locked")
	@Dict(dicCode = "is_locked")
    @ApiModelProperty(value = "是否冻结")
    private Integer isLocked;
	/**设备ID*/
	@Excel(name = "设备ID", width = 15)
    @ApiModelProperty(value = "设备ID")
    private String clientId;
	/**多租户标识*/
	@Excel(name = "多租户标识", width = 15)
    @ApiModelProperty(value = "多租户标识")
    private String relTenantIds;
	/**状态：0-未审核 1-审核中 2-已通过 3-已驳回*/
	@Excel(name = "状态", width = 15, dicCode = "audit_status")
	@Dict(dicCode = "audit_status")
    @ApiModelProperty(value = "状态：0-未审核 1-审核中 2-已通过 3-已驳回")
    private Integer auditStatus;
	/**审核人*/
	@Excel(name = "审核人", width = 15)
    @ApiModelProperty(value = "审核人")
    private String auditUsername;
	/**逻辑删除：0-未删除,1-删除。*/
    @ApiModelProperty(value = "逻辑删除：0-未删除,1-删除。")
    private Integer isDeleted;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**是否为首页推荐: 0-不推荐 1-推荐*/
    @Excel(name = "是否为首页推荐: 0-不推荐 1-推荐", width = 15, dicCode = "is_home_recommended")
    @Dict(dicCode = "is_home_recommended")
    @ApiModelProperty(value = "是否为首页推荐: 0-不推荐 1-推荐")
    private Integer isHomeRecommended;
    /**分类名称*/
    @ApiModelProperty(value = "分类名称")
    @TableField(exist = false)
    private String categoryName;

    @TableField(exist = false)
    private Integer pageNo=1;

    @TableField(exist = false)
    private Integer pageSize=10;


    /**SEO关键字*/
    @ApiModelProperty(value = "SEO关键字")
    private String seoKeywords;


    /**SEO描述*/
    @ApiModelProperty(value = "SEO描述")
    private String seoDescription;

    @Excel(name = "工作经历", width = 15)
    @ApiModelProperty(value = "工作经历")
    private String workExperience;

    @Excel(name = "教育经历", width = 15)
    @ApiModelProperty(value = "教育经历")
    private String eduExperience;

    @Excel(name = "毕业院校", width = 15)
    @ApiModelProperty(value = "毕业院校")
    private String university;

    @Excel(name = "职称", width = 15, dicCode = "position_rank")
    @ApiModelProperty(value = "职称")
    @Dict(dicCode = "position_rank")
    private String title;

    @ApiModelProperty(value = "省份")
    @Dict( dictTable = "ht_area", dicCode = "id", dicText = "name")
    @Excel(name = "省份", width = 15)
    private String province;

    @Excel(name = "党派", width = 15)
    @ApiModelProperty(value = "党派")
    private String partyGroupings;

}
